-
Notifications
You must be signed in to change notification settings - Fork 653
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement local and global variables handling for wasm simd #4056
Implement local and global variables handling for wasm simd #4056
Conversation
d59ec3c
to
8723135
Compare
362946f
to
b8c9245
Compare
@@ -3536,6 +3541,24 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module, | |||
HANDLE_OP_END(); | |||
} | |||
|
|||
#if WASM_ENABLE_SIMDE != 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That doesn't seem right - it makes the assumption about SIMD implementation; if for some platforms there will be another library used to implement SIMD instructions, you'd have to remember to update this place (and the condition will become more and more complicated). We should attempt to refactor the code so the simple and universal condition WASM_ENABLE SIMD != 0
should be sufficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same comment for all the other similar conditions in this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's tackle this separately and out of this PR
addr = GET_OPERAND(uint32, I32, 0); \ | ||
frame_ip += 2; \ | ||
addr_ret = GET_OFFSET(); \ | ||
CHECK_MEMORY_OVERFLOW(4); \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doesn't it check the address of the v128 destination? if so, should that be 4 or rather 16?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll check this once more
5450cae
to
36833e4
Compare
cc9b7ae
to
dbbbd0a
Compare
if (WAMR_BUILD_TARGET MATCHES "AARCH64.*" OR "ARM.*") | ||
add_definitions (-DWASM_ENABLE_SIMDE=1) | ||
endif () | ||
add_definitions (-DWASM_ENABLE_SIMDE=1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should hopefully be gone after refactoring but keeping it here so far
dbbbd0a
to
8cae7cc
Compare
… reserve_block_ret
Co-authored-by: Marcin Kolny <[email protected]>
Co-authored-by: Marcin Kolny <[email protected]>
Co-authored-by: Marcin Kolny <[email protected]>
Co-authored-by: Marcin Kolny <[email protected]>
2ad362c
to
7fe0f5a
Compare
Fix v128 load/store style
30246dd
to
993ff54
Compare
@lum1n0us could you help me with fixing the CI failure? I see
but I didn't really change anything about nuttx configs so not sure what would be my next steps |
Hi @lum1n0us @TianlongLiang @no1wudi merging this is important for us to finish off the remaining items for WASM SIMD, could anyone take a look please? I see #4082 is this going to be related to the failure we're seeing by any chance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I'm merging it as this is a PR only to the dev branch; also the build failure is not related to the changes here.
93feee8
into
bytecodealliance:dev/simd_for_interp
note:
I plan a bigger refactoring in a separate PR when we have all the spec tests passing so that I can easily check that there are no regressions from refactoring